home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
c.lqr
/
LEJLIB.C
< prev
next >
Wrap
Text File
|
1985-06-03
|
11KB
|
394 lines
/* The following are Microsoft c libraries to be included at compile time */
#include <stdio.h> /* std I/O library on c disk */
/* The following are global definitions to be used throughout the program */
#define EOF -1 /* logical ^Z EOF ends copy */
#define YES 1
#define NO 0
#define NL '\n'
#define EOS '\0'
#define MAXLINE 1024
#define SIZ 9
#define FF '\014' /* Form feed */
#define BELL '\007'
#define DIGMAX 10
#define CLEAR 12 /* ASCII form feed */
/* The following are external variables that can be used in any functions */
int inword;
int nl;
int nw;
int nc;
int ndigits[DIGMAX];
int c;
/* ---------------------------------------------------------------------- */
main() /* */
{
int len; /* current line length */
int maxlen; /* max length so far */
char line[MAXLINE];
char save[MAXLINE];
char lineupper[MAXLINE];
char linelower[MAXLINE];
char answer[MAXLINE];
printf(FF);
printf("\n");
printf("\n");
printf("Jordan's function test ...\n");
printf("\n");
inchar("Input password .....\b\b\b\b\b",5,answer);
printf("\n\nThe password is %s\n", answer);
}
/* ---------------------------------------------------------------------- */
redirect() /* redirect keybd to CRT */
{
int c;
printf("\n");
printf("\n");
printf("Jordan's redirect function...\n");
printf("\n");
printf("Input numbers, space characters, etc...\n");
printf("?");
while ((c = getchar()) != EOF) /* get char until EOF found */
putchar(c); /* send char to scrn: */
}
/* ---------------------------------------------------------------------- */
wordcnt() /* count lines, words, chars in input */
{
double c, nc, nl, nw; /* counters are float */
int inword; /* logical is interger */
inword = NO;
nl = nw = nc = 0.0; /* initialize variables */
printf("\n");
printf("\n");
printf("Jordan's word count function ...\n");
printf("\n");
printf("Input text for character, word and line count search.\n");
printf("\n");
while ((c = getchar()) != EOF) {
nc = nc + 1;
if (c == '\n') /* if c=LF then inc nl */
nl = nl + 1;
if (c == ' ' || c == '\n' || c == '\t') /* if char is space, */
inword = NO; /* LF or TAB then it */
/* cannot be a word */
else if (inword == NO) { /* otherwise it is a */
inword = YES; /* word */
nw = nw + 1;
}
}
printf("\n");
printf("\n");
printf("Number of characters = ");
printf("%.0f\n",nc); /* prt float # with no dec */
printf("Number of words = ");
printf("%.0f\n",nw);
printf("Number of lines = ");
printf("%.0f\n",nl);
printf("\n");
}
/* ---------------------------------------------------------------------- */
maxline() /* gets maximum length line in file */
{
int len; /* current line length */
int maxlen; /* max length so far */
char line[MAXLINE];
char save[MAXLINE];
maxlen = 0;
printf("\n");
printf("\n");
printf("Jordan's get maximum length line function ...\n");
printf("\n");
printf("Input text for maximum line length search.\n");
printf("\n");
while ((len = getline(line, MAXLINE)) > 0) /* getline defined below */
if (len > maxlen){
maxlen = len;
copy(line, save); /* function from below */
}
if (maxlen > 0)
printf("%s", save);
}
/* ---------------------------------------------------------------------- */
getline(s, lim) /* getline into s, return length of s */
char s[];
int lim;
{
int c,i;
for (i = 0; i < lim-1 && (c = getchar()) != EOF && c != '\n'; ++i)
s[i] = c;
if (c == '\n'){
s[i] = c;
++i;
}
s[i] = '\0';
return(i);
}
/* ---------------------------------------------------------------------- */
copy(s1, s2) /* copy s1 to s2; assume s2 big enough */
char s1[], s2[];
{
int i;
i = 0;
while (s2[i] = s1[i] != EOS)
++i;
}
/* ---------------------------------------------------------------------- */
power(x, n) /* raise x to n-th power; n > 0 */
int x, n;
{
int i, p;
p = 1;
for (i=1; i<=n; ++i)
p=p*x;
return(p);
}
/* ---------------------------------------------------------------------- */
digicnt() /* count digits, spaces, others */
{
int c, i, nspaces, nother; /* integers */
int ndigits[DIGMAX]; /* integer array */
nspaces = nother = 0;
for (i= 0; i < 10; ++i)
ndigits[i] = 0; /* initialize arry to 0 */
printf("\n");
printf("\n");
printf("Jordan's number counter...\n");
printf("\n");
printf("Input numbers, space characters, etc...\n");
printf("?");
while ((c = getchar()) != EOF)
if (c >= '0' && c <= '9')
++ndigits[c];
else if (c == ' ' || c == '\n' || c == '\t')
++nspaces;
else
++nother;
printf("\n");
printf("\n");
printf("Jordan's number counter results...\n");
printf("\n");
printf("Number of digits = ");
for (i=0; i < 10; ++i)
printf(" %d", ndigits[i]);
printf("\nNumber of spaces = %d, Other = %d\n",
nspaces, nother);
printf("\n");
}
/* ---------------------------------------------------------------------- */
strlen(s) /* return length of string s */
char s[];
{
int i;
i = 0;
while (s[i] != '\0')
++i;
return(i);
}
/* ---------------------------------------------------------------------- */
atoi(s) /* convert numeric string into numeric equiv */
char s[];
{
int i;
int n; /* need double precision for no > 32K */
n = 0;
for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
n = 10 * n + s[i] - '0';
return(n);
}
/* ---------------------------------------------------------------------- */
upper(s) /* converts lower case to upper */
char s[];
{
int i, j;
for (i = j = 0; s[i] != '\0'; i++,j++) /* inc i after using it */
if (s[i] >= 'a' && s[i] <= 'z') /* if upeer case do next */
s[j] = s[i] + 'A' - 'a';
else
s[j] = s[i];
s[++j] = '\0';
}
/* ---------------------------------------------------------------------- */
lower(s) /* converts upper case to lower */
char s[];
{
int i, j;
for (i = j = 0; s[i] != '\0'; i++) /* inc i after using it */
if (s[i] >= 'A' && s[i] <= 'Z') /* if upeer case do next */
s[j++] = s[i] + 'a' - 'A'; /* convert ASCII value */
else
s[j++] = s[i]; /* only copy as is */
s[j++] = '\0';
}
/* ---------------------------------------------------------------------- */
isdigit(c) /* test character to see if it is a digit */
int c;
{
int isdigit;
return(isdigit = c >= '0' && c<= '9'); /* isdigit true = 1 */
/* isdigit false = 0 */
}
/* ---------------------------------------------------------------------- */
stuf(s) /* stuffs string s with letters A-I */
char s[];
{
int i,x;
for(x = 65, i = 0; i < SIZ; ++x, ++i)
s[i] = x;
}
/* ---------------------------------------------------------------------- */
/* prints mid string 'stradr' beggining at */
/* 'start' and going for 'num' characters */
mid(stradr,start,num)
int start, num;
char stradr[];
{
int i;
for(i = 0; i < num; ++i)
printf("%c", stradr[start + i]);
}
/* ---------------------------------------------------------------------- */
/* prompts for answer of 'num' chars */
/* then returns 'answer' to main */
inchar(prompt,num,answer)
char *prompt, answer[];
int num;
{
int j;
printf("\n%s", prompt);
for(j = 0; j < num; ++j)
answer[j] = getchar();
answer[num] = EOS;
return(answer);
}
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */
/* ---------------------------------------------------------------------- */